﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using LibreriaDeClases;


namespace BattleCity
{
    public class ProyectilLanzaCohetes : Proyectil
    {
        private IDireccion direccion;
        public ProyectilLanzaCohetes(Point ubicacion, IDireccion direccion)
        {
            this.Figura = new Rectangulo(ubicacion, 10, 10);
            this.energia = 100;
            this.Velocidad = 20;
            this.direccion = direccion;
	        this.nombre = "ProyectilLanzaCohetes";
        }

        override protected IDireccion DireccionAvanzar()
        {
            return direccion;
        }
        override protected IDireccion DireccionRetroceder()
        {
            return direccion;
        }

        override public bool ImpactaCon(Objeto objeto)
        {
            return objeto.ImpactaCon(this);
        }
        override public bool ImpactaCon(Tanque tanque)
        {
            tanque.Daniar(Danio(tanque));
            this.Daniar(100);
            return true;
        }
        override public bool ImpactaCon(Proyectil proyectil)
        {
            proyectil.Daniar(Danio(proyectil));
            this.Daniar(100);
            return true;
        }
        override public bool ImpactaCon(Muro muro)
        {
            muro.Daniar(Danio(muro));
            this.Daniar(100);
            return true;
        }
        override public bool ImpactaCon(Base baseob)
        {
            baseob.Daniar(Danio(baseob));
            this.Daniar(100);
            return true;
        }

        override public int Danio(Objeto objeto)
        {
            if (objeto.Energia < 10)
            {
                return 10;
            }
            else
            {
                return (objeto.Energia / 2);
            }
        }

    }
}
